The present invention relates to sampling rate converters, and more particularly to a technique for reducing the number of coefficients in a low ratio sampling rate converter to minimize memory and maximize speed requirements where the ratio between the sampling rates is close to one.
Many different standards have been and are being created in both the video and audio worlds. With the sharp increase in the usage of digital technology in the television industry as well as the advent of high definition television, many new standards have recently emerged and many new ones are being proposed. One of the specifications in all these standards is the sampling rate, with different standards specifying different sampling rates. In one dimensional form the sampling rate specifies the spacing between adjacent samples, while in the two and three dimensional forms for television video it specifies the spacing between horizontal lines and the frame rate, respectively. Therefore there is a growing need for sampling rate converters so that systems using different specifications can communicate with each other.
To convert the sampling rate the signal values at the locations between the samples at the first sampling rate have to be evaluated. For this purpose a kernel is used to interpolate between the samples. Ideally a sinc, or sin(x)/x, function is the kernel. However, as the sinc function is an infinitely long function, various different time limited functions are used instead. The kernel has to be long enough that N input samples are required to calculate one output sample. Therefore there are N sampled values of the kernel that become the coefficients to multiply with the input data values. If the relationship, or separations, between the locations of the input and output samples vary for different output samples, as is the case when the input and output sampling rates are different, then a different set of N coefficients, the sampled values of the kernel, is required for each output sampled. The number of such sets required is a function of input and output sampling rates. If the ratio of the input and output sampling rates is close to one, then a very large set of coefficients is needed.
For example in video one sampling rate is four times the color subcarrier frequency, or 14.318180 MSamples/sec for NTSC and 17.734475 MSamples/sec for PAL, another rate is the CCIR 601 standard of 13.5 MSamples/sec, and yet another rate is a PAL "line locked sampling rate" of 17.734375 MSamples/sec. Taking the two PAL sampling rates, the difference is only 100 Hz equivalent to a ratio of approximately 1.000005639:1. In this particular case there are 709379 distinct output sample locations, and therefore 709379xN sample values of the convolution kernel. For N=10 this implies a calculation of more than 7.times.10.sup.6 coefficient values. At video signal rates these values cannot be easily computed on the fly. To alternatively precalculate and store these coefficient values leads to a large memory requirement. Since each different output sample requires a different set of coefficients, memory access rate needs to be at the video output rate of 17.734475 MHz, i.e., the memory cannot be slow, and thus low cost.
What is desired is a method of reducing the number of coefficients in a sampling rate converter so that a slow, low cost memory may be used to prestore the necessary coefficients.